package com.uniinnovate.lanjingling.pojo.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.uniinnovate.lanjingling.entity.UserEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;

/**
 * @author hym
 * @description 用户完善信息VO
 */
@Data
@Accessors(chain = true)
@ApiModel("用户完整信息视图对象")
public class UserInfoVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableId(type = IdType.AUTO)
    private Long userId;
    /**
     * 昵称
     */
    @ApiModelProperty("昵称")
    private String name;
    /**
     * 账号
     */
    @ApiModelProperty("账号")
    private String account;
    /**
     * 密码
     */
    @ApiModelProperty("密码")
    private String password;
    /**
     * 头像
     */
    @ApiModelProperty("头像")
    private String avatar;
    /**
     * 用户姓名
     */
    @ApiModelProperty("用户姓名")
    private String realName;
    /**
     * 年龄
     */
    @ApiModelProperty("年龄")
    private Integer age;
    /**
     * 性别
     */
    @ApiModelProperty("性别")
    private String gender;
    /**
     * 电话号
     */
    @ApiModelProperty("电话号")
    private String phone;
    /**
     * 邮箱
     */
    @ApiModelProperty("邮箱")
    private String email;
    /**
     * 居住地
     */
    @ApiModelProperty("居住地")
    private String address;
    /**
     * 职业
     */
    @ApiModelProperty("职业")
    private String career;
    /**
     * 意向
     */
    @ApiModelProperty("意向")
    private String interest;
    /**
     * 毕业学校
     */
    @ApiModelProperty("毕业学校")
    private String campus;
    /**
     * 教育程度
     */
    @ApiModelProperty("教育程度")
    private String educate;
    /**
     * 工作年限
     */
    @ApiModelProperty("工作年限")
    private Integer exp;
    /**
     * 身份证号
     */
    @ApiModelProperty("身份证号")
    private String idNum;

    public UserEntity toEntity() {
        UserEntity userEntity = new UserEntity();
        BeanUtils.copyProperties(this, userEntity);
        userEntity.setIsAudit(0);
        return userEntity;
    }
}
